package com.ethink.system.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ethink.system.api.info.SystemOrganizationInfo;
import com.ethink.system.api.request.OrganizationAddRequest;
import com.ethink.system.api.request.OrganizationPageQueryRequest;
import com.ethink.system.api.request.OrganizationQueryRequest;
import com.ethink.system.api.request.OrganizationUpdateRequest;

import java.util.List;

/**
 * 系统组织机构表 Service接口
 *
 * @author default
 * @date 2022-09-26
 */
public interface SystemOrganizationService {

    /**
     * 新增组织
     * @param request
     */
    void add(OrganizationAddRequest request);

    /**
     * 更新组织名称
     * @param request
     */
    void update(OrganizationUpdateRequest request);

    /**
     * 查询所有组织
     * @param request
     * @return
     */
    List<SystemOrganizationInfo> systemOrganizationGetAll(OrganizationQueryRequest request);

    /**
     * 查询单个组织
     * @param systemOrganizationId
     * @return
     */
    SystemOrganizationInfo getSystemOrganizationById(Long systemOrganizationId);

    /**
     * 组织删除
     * @param id
     */
    void systemOrganizationDelete(Long id);

    /**
     * 分页查询
     * @param request
     * @return
     */
    Page<SystemOrganizationInfo> pageQuerySystemOrganization(OrganizationPageQueryRequest request);
}